package magchess10.rn.utils;

import magchess10.rn.pecas.Bispo;
import magchess10.rn.pecas.Cavalo;
import magchess10.rn.pecas.Peao;
import magchess10.rn.pecas.Pecas;
import magchess10.rn.pecas.Rainha;
import magchess10.rn.pecas.Rei;
import magchess10.rn.pecas.Torre;

public class PecasFactory {

	private static String [] nomePecasRepositorio = new String [] {"Peao","Cavalo","Bispo","Torre","Rainha"};
	
	
	public static Pecas getPeca (String nomePeca,String corPeca,boolean ehPecaTabuleiro) {
		if ("Peao".equals(nomePeca))
			return new Peao(true,corPeca,ehPecaTabuleiro);
		else if ("Cavalo".equals(nomePeca))
			return new Cavalo(corPeca,ehPecaTabuleiro);
		else if ("Bispo".equals(nomePeca))
			return new Bispo(corPeca,ehPecaTabuleiro);
		else if ("Torre".equals(nomePeca))
			return new Torre(corPeca,ehPecaTabuleiro);
		else if ("Rainha".equals(nomePeca))
			return new Rainha(corPeca,ehPecaTabuleiro);
		else if ("Rei".equals(nomePeca))
			return new Rei(corPeca,ehPecaTabuleiro);
		else 
			return null;
	}
	
	public static Pecas getPecaByIndex (int index,String corPeca,boolean ehPecaTabuleiro) {
		return getPeca(nomePecasRepositorio[index], corPeca, ehPecaTabuleiro);
	}
	
	public static String getNomePecaByIndex (int index) {
		return nomePecasRepositorio[index];
	}
	
	public static int getIndexByName (String nomePeca) {
		for (int i=0; i < 5; i++)
			if (nomePeca.equals(nomePecasRepositorio[i]))
				return i;
		return -1;
	}
	
	
	
}
